/**
 * @Author       : Mo 2427995270@qq.com
 * @Date         : 2025-05-29 16:47:00
 * @LastEditTime : 2025-06-02 21:07:21
 * @FilePath     : \PY32F071-DEMO\hal_drivers\ll_adc.h
 * @Description  : adc低层驱动头文件
 * @Version      : V1.0
 * @History      :
 * @Note         :
 */
#ifndef __ll_adc_H__
#define __ll_adc_H__

/***************************************Includes***********************************/

#include <stdint.h>

/*************************************Public Macros********************************/
// #define


/***********************************Public Statement*******************************/

typedef struct {
    uint32_t port;        // GPIO端口
    uint32_t pin;         // GPIO管脚
    uint32_t adcx;        // ADCx
    uint32_t channel;     // ADC通道
} adc_ll_t;


/***********************************Public Functions*******************************/

/**
 * @brief adc初始化
 * @param  alt              
 * @param  port             GPIO端口
 * @param  pin              GPIO PIN
 * @param  adcx             ADCx
 * @param  channel          ADC通道
 * @return int 0成功 -1失败
 * @note null
 */
int adc_ll_init(adc_ll_t *alt, uint32_t port, uint32_t pin, uint32_t adcx, uint32_t channel);
/**
 * @brief 所有ADC复位
 * @note null
 */
void adc_ll_deinit(adc_ll_t *alt);
/**
 * @brief ADC采样
 * @param  alt              
 * @return uint16_t 采样值
 * @note null
 */
uint16_t adc_ll_sample(adc_ll_t *alt);


/***************************************Public Variables**********************************/


#endif
/* [] END OF FILE */
